home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / os2 / adaptor.zip / ADAPT.ZIP / adaptor / examples / purdue / prob04ol.fcm < prev    next >
Text File  |  1993-06-26  |  2KB  |  79 lines

  1.       PROGRAM PROB04
  2. C
  3. C     PROBLEM 04
  4. C
  5. C  REFERENCE:  PROBLEMS TO TEST PARALLEL AND VECTOR LANGUAGES
  6. C              CSD-TR 516, COMPUTER SCIENCE, PURDUE UNIVERSITY
  7. C              JOHN R. RICE, MAY 1, 1985
  8. C
  9. C              REVISED BY JOHN R. RICE AND J. JING, OCT. 1, 1990
  10. C
  11. C
  12. C      *************************************************
  13. C      *      Adapted for FORTRAN D benchmarking       *
  14. C      *    by  T. HAUPT  (haupt@sccs.npac.syr.edu)    *
  15. C      *                                               *
  16. C      *    Northeast Parallel Architectures Center    *
  17. C      *   at Syracuse University, Syracuse, NY, USA   *
  18. C      *************************************************
  19. C
  20. C
  21. C       VERSION SIMD/CM2-1.00
  22. C       ==================================================
  23. C
  24.       INCLUDE '/usr/include/cm/paris-configuration-fort.h'
  25.       INTEGER KASES,NK
  26.       PARAMETER (KASES=3)
  27.       INTEGER N(KASES)
  28. cmf$  layout N(:serial)
  29.       DATA N /16384,65536,524288/
  30.       REAL X
  31.  
  32.       DO 50 K = 1, KASES
  33.  
  34.       CALL CM_TIMER_CLEAR(0)
  35.       CALL CM_TIMER_START(0)
  36.  
  37.       DO MANY=1,25
  38.       NK=N(K)
  39.       CALL DOIT(NK,X)
  40.  
  41.       ENDDO
  42.  
  43.       CALL CM_TIMER_STOP(0)
  44.  
  45.       PRINT *,'PROBLEM 4 WITH N =',NK
  46.       PRINT *,'GIVES X  = ',X
  47.  
  48.  
  49.       CALL CM_TIMER_PRINT(0)
  50.  
  51.    50 CONTINUE
  52.       STOP
  53.       END
  54.  
  55.       SUBROUTINE DOIT(NK,X)
  56.       INTEGER NK
  57.       REAL X
  58.       REAL, ARRAY(NK)    :: Y,Z
  59.  
  60.  
  61. C      Y=1.0/(1.0+[1:NK])
  62.       DO MANY=1,20
  63.       Y=MANY
  64.       Z=0
  65.       WHERE(Y.NE.0)
  66.         Z=1.0/Y
  67.       ENDWHERE
  68.       ENDDO
  69.       X=SUM(Z)
  70.       END
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.